package com.ruoyi.report_lqhhl.domain.bo;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_lqhhl.domain.vo.ReportLqhhlLqhlkljpbgBsDetailVo;
import com.ruoyi.report_lqhhl.domain.vo.ReportLqhhlLqhlkljpjlbBsDetailVo;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 沥青混合料沥青含量、矿料级配试验检测记录业务对象 report_lqhhl_lqhlkljpjlb_bs_info
 *
 * @author llb
 * @date 2024-08-31
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportLqhhlLqhlkljpjlbBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotBlank(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 结构层次
     */
    @NotBlank(message = "结构层次不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiegcc;

    /**
     * 混合料类型
     */
    @NotBlank(message = "混合料类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String hunhllx;

    /**
     * 沥青种类标号
     */
    @NotBlank(message = "沥青种类标号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String liqzlbh;

    /**
     * 最佳沥青用量
     */
    @NotBlank(message = "最佳沥青用量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zuijlqyl;

    /**
     * 级配类型
     */
    @NotBlank(message = "级配类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiplx;

    /**
     * 干燥试样质量1
     */
    @NotNull(message = "干燥试样质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ganzsyzl1;

    /**
     * 干燥试样质量2
     */
    @NotNull(message = "干燥试样质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ganzsyzl2;

    /**
     * 水洗后筛上总量1
     */
    @NotNull(message = "水洗后筛上总量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuixhsszl1;

    /**
     * 水洗后筛上总量2
     */
    @NotNull(message = "水洗后筛上总量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuixhsszl2;

    /**
     * 水洗后0.075筛下量1
     */
    @NotNull(message = "水洗后0.075筛下量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuixhsxl1;

    /**
     * 水洗后0.075筛下量2
     */
    @NotNull(message = "水洗后0.075筛下量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuixhsxl2;

    /**
     * 0.075通过率1
     */
    @NotNull(message = "0.075通过率1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal tonggl1;

    /**
     * 0.075通过率2
     */
    @NotNull(message = "0.075通过率2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal tonggl2;

    /**
     * 平均
     */
    @NotNull(message = "平均不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal pingj;

    /**
     * m11
     */
    @NotNull(message = "m11不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m11;

    /**
     * m12
     */
    @NotNull(message = "m12不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m12;

    /**
     * m21
     */
    @NotNull(message = "m21不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m21;

    /**
     * m22
     */
    @NotNull(message = "m22不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m22;

    /**
     * m31
     */
    @NotNull(message = "m31不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m31;

    /**
     * m32
     */
    @NotNull(message = "m32不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m32;

    /**
     * m41
     */
    @NotNull(message = "m41不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m41;

    /**
     * m42
     */
    @NotNull(message = "m42不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m42;

    /**
     * 标定质量损失系数1
     */
    @NotNull(message = "标定质量损失系数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal biaodzlssxs1;

    /**
     * 标定质量损失系数2
     */
    @NotNull(message = "标定质量损失系数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal biaodzlssxs2;

    /**
     * 沥青用量1
     */
    @NotNull(message = "沥青用量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liqyl1;

    /**
     * 沥青用量2
     */
    @NotNull(message = "沥青用量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liqyl2;

    /**
     * 平均值
     */
    @NotNull(message = "平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal pingjz;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 检测
     */
    @NotBlank(message = "检测不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jianc;

    /**
     * 记录
     */
    @NotBlank(message = "记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jil;

    /**
     * 复核
     */
    @NotBlank(message = "复核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuh;

    /**
     * 日期
     */
    @NotBlank(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String riq;

    /**
     * 设备ids
     */
    @NotBlank(message = "设备ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 判断依据ids
     */
    @NotBlank(message = "判断依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 扣除损耗后试样总质量
     */
    private BigDecimal koucshhsyzzl;

    /**
     * 详情
     */
    private List<ReportLqhhlLqhlkljpjlbBsDetailVo> detailList;
}
